home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-06-26 | 16.3 KB | 447 lines | [TEXT/MACA] |
- Version History of Yerk
-
- ----Neon 2.0----
-
- New methods:
-
- Control
- setTitle( addr len --), getTitle( -- addr len), getnew(id wind --)
- enable: disable:
- box size in y decreased by 3 pixels
-
- handle
- unlock(-), lock(-), movehi(-), locked?(-b)
- event
- zoombox supported
- file
- flushVol (-)
-
- base - extend is faster, >uc fixed
-
- nucleus
- ic! fixed, (.stack) protected, cmove replaced with blockmove trap
-
- fargs
- fixed ;m
- fltmem
- fixed 2dup
-
- indlg
- draw: fwind removed from each dlg
- added remembers current cursor
- tools
- supports macII-increased table lengths and collision table cell size
- decompile
- fixed float bug, .num shows signs, contains your own methods
- qprint
- shows revision date
- date
- init: removed-no longer needed - must get: then print:
-
- port
- kill:
- timer
- clear:
-
- alert!
- returns button item# for which button was pressed
-
- hfs? now works
-
- nucleus may have fwind not visible, but the word neon performs a show: fwind.
- If you don't want fwind around at startup, don't say a thing to it and set
- the visible flag using resedit.
-
- When a menu Item is selected, both the item number and menuId are stored
- into values mitem and menuID.
-
- -------------
-
- This version of Neon is called Yerk 3.1 for now. The nucleus has been modified
- to provide a multifinder aware application.
-
- There was an inconsistency in the numbering scheme for menu items in Neon...
- notably between check, uncheck, set, get methods. They are now all consistent,
- with the first item being item #1.
-
- -----------------
-
- source menu has support for hierarchichal menus and popups.
- extra methods in class menu
- applemenu defined to support infinite number of items
- addone: menubar and remove: menubar - 24 menus in menubar
- disable and enable menubar prettier
-
- loading now can occur in background
-
- struct1 included in nuc(no longer option). warray, wordcol, barray, bytecol.
-
- farray fixed fltAt and fltTo to check for ivars
-
- dialog has frame: show: methods, so that the dialog window can come
- up invisible for drawing many things, then say show:...looks nicer
-
- theMenu added, that holds the menu addr of the last menu selected.
-
- disk event now checks for initialization needs
-
- =: string modified to lock source
- concat: string added
- moveHHi added before lock: handle in Struct source as IM suggests
-
- bytecol and wordcol now identify negative numbers (are not unsigned)
- NOT ANYMORE>>>
-
- drvr close: now calls kill: first
- serial added baudrate, xon, break buffer, status: and bytesIn:
-
- ----
-
- savesig finds app signature
- handle has getstate: and setstate: methods
- string uses hgetstate and hsetstate for concat: and =:
- module exam works over application memory space
- module env has more imports for appletalkon, hascolor and hasfpu
- added +to: for farray
- neon folder no longer should have ™
-
- COULD ADD GETSTATE,SETSTATE TO PUT:, ADD:, REPLACE: IN BASICSTR???
-
- nucleus checks for waitNextEvent and cpu cache
- barray and warray now use ++2 and ++1 for faster operation in +to:
-
- savesig now gets owner automatically, so that whatever nucleus is running
- provides the owner name
-
- modified decompile module so that de' word/module is now de' word|module
- so that words with / could be decompiled.
-
- added userItem class to dialog.
-
- :M redefined to show 'method redefined' before the method (for clarity)
-
- fixed locked?: method to call hgetstate
-
- removed initfont from new: control (and getnew)
-
- ----Yerk 3.3.0-----
-
- modified pathList by using sArray. Path is now an object of sarray. Changed
- class File, and source grep to reflect change. There is no longer a class
- called pathlist. sArray holds an array of str255 types.
-
- added do' (object of class) : is to doolist as de' is to dode
-
- ' modified :proc to give large stack (necessary for 8 bit deep color monitor)
-
- Changed 2dArray in asm code to be loaded at compile time, and is much faster
- (30%) at compiling code. Data is in dictionary, not on heap.
-
- ----Yerk 3.3.1----
-
- modified savesig
-
- revised bold fonts in // so 9 pt chicago not loaded
-
- class window now erases grow box when grown
- delete now erase cursor if +curs is set
-
- slight change stop: timer
-
- slight cosmetic change to (.mod)
-
- added negate: to class Int
-
- fixed slight bug in decompile (for floats)
-
- ----Yerk 3.3.2----
-
- ?lines changed in nuc to keep bottom line on screen
- and grow: method in window changed to send current line to bottom
- if grow shortened window.
-
- fixed to: problem in pathList source for sarray
-
- -----------------------
-
- ----Yerk 3.5----
-
- Semi-major revision to system 7. Nucleus has changed with two
- code resources.
-
- Install module now works.
-
- recoded (@) and newptr in case heap is below dictionary.
-
- Fixed >ptr in nucleus to use either stripaddress or lo3bytes depending on
- whether stripaddress is resident in system.
-
- Added value 'hasGestalt'
-
- Added konstant module...use 'konstant xxxx' to get value of mac equates.
-
- Tool module now uses 4 byte hash..no collisions
-
- No longer need large newptr in frontend, since kernal now calls maxapplzone
-
- 'type now does not convert to upper case. This is needed for system 7 since
- it uses many lower case 'types.
-
- Fevent increased to handle high level events, but the handlers are not installed yet.
-
-
- ----Yerk 3.6----
-
-
- changed window source to handle grow box better..
- also eliminated nonScrollWind class and followed Michael Hore's example, making the
- option to set fpRect by an IVAR of window
- Several new methods have been added to window...setLimits:, setZoom:, setScroll, and
- others. Check the source for all of them. SetZoom allows the addition of a user
- supplied zoombox word (for multiple screen support).
-
- slight modification of nucleus..cleaned up in places. Also, added a bit to the
- CODE 1 resource to recognize whether the program is a standalone app or just a
- development document.
-
- Added resource to load in ontop of floating point part of the dictionary during
- development save. This is required because of system 7.0.1 writing over pack4 calls.
- StdSave is therefore redefined. Not necessary for <7.0.1, althought it doesn't hurt.
- Adds about 5k to yerk.rsrc. Also, this is not necessary for standalone application,
- since you don't do a stdsave on an application. IF YOU RECOMPILE YERK, REMEMBER THAT
- THE YERK.RSRC FILE IS MODIFIED, AND YOU NEED TO DELETE OLDER COPIES.
-
- Install now works well. You have to think about how the application is going to
- work as opposed to how it worked as a development environment. Eliminate all
- openrsrc calls (I patch the old ones [to null]), use menus in resources, don't
- read in a path file, and get rid of some of the unnecessary words in your
- development startup word. Then run the install module, setting the
- various words appropriately. Certain modules will load as Code resources, and
- you may delete those you don't need with resedit. Add any other resources you
- need from the development resource files, and you are ready to go. [see
- the note 'install.txt' included with the distribution - note that
- the manual is not updated to reflect these changes]
-
- Added Hierarchy menu item...prints the class chain of an entered class. Source in util mod.
-
- Added stack space in :Proc. I've found that under sys 7, more stack space was necessary,
- particularly using dialogs, scrollbars, etc. If an crash happens when you are
- using a scrollbar (arrow or gray rgn), try increasing the stack size in Pstart.
- This may be done by patching pstart for future compilations, and the proc 'ctlproc',
- which is the called procedure during dragControl.
-
- Fixed /mod to yield negative values. Propogated fix in appropriate sources (adding abs
- to ignore negative values).
-
- Added abort load (hit space key) when loading a file with echo off.
-
- Fixed bug in decompile.
-
- modified userItem in dialog.
-
- // now can be stopped by hitting a key even if not echoing.
-
- ---note: not all system 7 calls are set up to work yet. The next version of Yerk will
- have the 'call' word intelligent where it will set up the inline toolkit
- calls correctly for all types of traps (dispatched, etc).
- So be alert using the new system 7 traps. Get IM VI to be sure.
-
-
- ----Yerk 3.6.1----
-
- added getnew: to rsrcWind to make sure WIND rsrc is marked non purgeable if
- savePosition IVAR is true. This is because a call to GetNewWindow sets
- the purge bit of the rsrc when called.
-
- Fixed a problem with savesig. The original definition used loadfile.
- Remove: loadfile closes the file, which in the case of a standalone
- application will close the resource fork!
-
- ----Yerk 3.6.2----
-
- changed the way getnew: methods work...now all resource id's are stored as IVARS.
- Getnew: doesn't require an id on the stack....THIS MEANS OLDER CODE MUST BE CHANGED
- IF YOU USED RESOURCE ID's.
-
- Fixed super/self problem with decompile.
-
- added alive: method to dialog class
-
- exam module window drags over all grayrgn
-
- added put: farray get: farray
-
- added getName: checkone: methods to Menu class. Checkone: unchecks all items but one.
- getname: gets name of menu.
-
- Flush cache for 030 and 040 machines at words TRAP, :PROC, and (FDOS). Also added
- word CFLUSH in nucleus.
-
- added ptin: method to Rect
-
- simplified fill: method in class String
-
- modified Window so that command key option works as in IM
-
- modified :Proc to grab a5 and a3 from a resource loaded at startup in nucleus
- :proc now knows the proper value of a5 and a3.
-
- Also rewrote Time Manager and VBL Manager (in Supplement/Mystuff) to be
- a5,a3 aware.
-
- modified exam module to display higher addresses due to virtual memory
-
- The install module is modified so that you may select those modules
- you want installed within your application. You may want some standard
- Yerk ones, your own, or none at all.
-
- ----Yerk 3.6.3---------
-
- Fixed a bug that happened after doing a stdSave in YerkFP.com. Once this was executed,
- if you tried to compile code that used floating point constants, yerk would bomb.
- Now you can take a snapshot of the environment and continue to work without having to
- exit and reenter.
-
- Fixed a bug in (fdos) that affects 68030 and 040 chips.
-
- ----Yerk 3.6.4--------
-
-
- ****** the following four changes mean you might have to change your sources to comply.
- Eliminated 'sony', 'profile', and 'external' from dictionary.
- Menus now in resources..getmtxt and module will no longer be supported in Yerk
- Changed 'getname: pmenu' to getHItemName, so can use super method
- Changed set: menu to have stack consistent with sarray input to: (addr len index)
-
- Include a message during compile to name the redefined object.
-
- fmax, fmin added to dictionary
-
- Added checked?: to Menu to tell if a menu item has been checked or not
-
- Added method portBit: to window and dialog class
-
- :Proc redefined for better a5,a3 support; removed MYA5 resource
-
- Modified source 'ovl' to set a5,a3 in any :proc words in modules
- There is now a word, initProcs, that should be included in your
- startup word. It will initialize all proc words in the code with
- the current A5 and A3 values. When a module is loaded, it will
- be searched for proc words and they too will be initialized automatically.
-
- Added ?rdepth switch (+rdepth, -rdepth) for execution of :proc word in background.
- If the yerk program is running in the background and a completion routine
- is executed, A5, and A3 are handled properly, but there is a check
- for rdepth to be in a certain range. This could lead to problems
- since the new rstack is set up on the current stack, wherever that is.
- So, to be safe, turn the check off (-rdepth) until the completion is done.
-
- VBL and TimeManager support
-
- Added frame: dialog to draw default frame around the control at will
-
- ffcb in nucleus now large enough to be real file object
-
- Protect stack from getting more floats that floatmem allows
-
- SysEdits now supports key: window; cut,copy,paste for the front window
-
- Added listing of objects in .clist
-
- Added 'part' as parameter for zoom handler...Used to have to use
- mp2 to get zoom state from methods stack
-
- Lock string down before printing. Also test for handle state and unlock if
- necessary for replace.
-
- Added ?ishandle to nucleus and valid: to handle so now you can check a handle to see
- if it is valid. New method Valid: handle. Release: menu checks valid handle first.
- NOTE THAT THIS IS NOT 100% EFFECTIVE..among other tests, it calls RecoverHandle
- which can cause a Bus Error in a few instances. I'll leave this in for now
- to see how good it is....if we never see bombs, then I'll keep it for future
- versions. The best way to handle deallocated handles is to zero them afterwards.
- However, because of saving images of your work, when you bring an image back
- there will be non zero handles in things which are not allocated. This is why
- we need a check for valid handles. If anyone has a better idea as to how
- to do this, please let me know.
-
-
- Added a module that echos output (if +file is set) to a file whose
- default name is logfile. This file is written to the yerk folder. You
- may type '+file' within the interpreter or select the 'Echo to Log'
- item in the Yerk menu. If you hold the option key down while
- selecting the menu item (or hitting return for +file), the standard file
- dialog box appears and allows you to set a different file name. Notice
- that the log file is appended to. +file, -file, tofile import words from logmod.
- 'tofile' is not yet defined.
-
- Gestalt support in nucleus. gestalt returns -- code 0 or errcode (<0). A return
- of -1 means gestalt is not supported under the current Mac OS.
-
- Added arcsin, arccos to yerkFP.com
-
- (nevent) automatically loaded into nevent during compile - this is so
- compiling can process events and can therefore continue in the background.
-
- Timer now has sync: method to wait till tic counter changes
-
- Added 0 DTR: to Open: for serial ports to take care of powerbook anomoly
-
- Recoded hopen: and orf in File source to lock strings used at appropriate times
- to fix occasional improper path formations due to memory moves
-
- Protect getnew: for dialog, ctl, picture, icon classes
-
- Decompile now decompiles the contents of vects, values, and sysvects, if applicable.
-
- Modified getstring to not open yerk.rsrc file. If string not found, abort.
-
- Install process no longer deletes Yerk nucleus. Its resources are copied
- into the new application. Also fixed bug so Install module works for
- both yerkFP.com and yerk.com.
-
- New word 'saver' replaces 'doSave' in the file menu. Saver will save the
- current dictionary in its current folder with the current name. It will
- replace any older version by the same name.
-
- When saving the dictionary, you used to have to close all windows except the
- fwind before saving. If you didn't do this, when you next launch your
- dictionary, you could not open the windows since they were marked as open
- when you saved the image. Now, you no longer have to close the windows...
- each window is automatically marked as closed before saving, and then
- unmarked afterwards.
-
- Added '8*' to kernel, 'within' to yerk.com, and removed '?decimal'.
-
- Added setHSize!: to handle to set the size even if the handle is locked...it
- leaves the handle locked after the resize.
-
- Added file marking into the dictionary for better on-line documentation. If
- +docs is executed, then as you compile new file sources into the
- dictionary, information is stored for each new word. To see the definition
- of a word, type 'see theWord'. A scrollable window
- will appear showing the entire source, with theWord as near to the top
- of the window as possible. -docs turns off the storage. So for development,
- set +docs; for the final version of your code, where you want to save space, set -docs.
- When +docs is set, each filename is stored in the dictionary with a yerk header,
- and each word has its line number stored, which increases the word's length by two bytes.
- Other words are RL for reload file from last load (forgets and reloads last
- file), FM forget to last mark, /// - same a RL but takes a name input and forgets
- and reloads all sources from the named input source - VERY useful in developement.
- MForget will forget all definitions up to the named mark.
-
- Nucleus changed to detect whether it is an application or not. Now Install module\
- doesn't need to patch CODE.
-
- Nucleus also puts warm start code at ApplScratch, or $A78 in Mac Memory. So
- if you bomb and are using Macsbug, you can say 'g a78' or 'g applscratch'
- from Macsbug and you have a good chance of getting back into Yerk with
- your code intact.
-
- Decompile now supports float named input parameters and local variables.
-
- CtlWind now supports system 7 popup menus.
-
- Fixed bug in hitting scrollbar in ListMan (Install module).
-
-